package web.java.a_Connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.junit.Test;

import com.mysql.jdbc.Driver;

public class Demo01_Connection {
	//jdbc协议:mysql子协议://地址:端口号/数据库名称
	String url="jdbc:mysql://localhost:3306/shop";
	String user="root";	//用户名，密码
	String password="root";
	/**
	 * 三种连接数据库的方法
	 * @throws SQLException 
	 * */
	/**
	 * 通过数据库驱动类来建立连接
	 * */
	@Test
	public void test1() throws SQLException{
		//1、创建数据库驱动
		Driver driver=new com.mysql.jdbc.Driver();
		//2、配置用户名密码
		Properties properties = new Properties();
		properties.setProperty("user", user);	//注意：此处用户名只能是  user
		properties.setProperty("password",password);
		//2、连接数据库
		Connection conn=driver.connect(url, properties);
		System.out.println(conn);
		conn.close();
	}
	/**
	 * 通过数据库管理器类注册数据库驱动来建立连接
	 * */
	@Test
	public void test2() throws SQLException{
		//1、创建数据库驱动
		Driver driver=new com.mysql.jdbc.Driver();
		//2、注册数据库驱动
		DriverManager.registerDriver(driver);
		//3、建立连接
		Connection conn=DriverManager.getConnection(url,user,password);
		System.out.println(conn);
		conn.close();
	}
	/**
	 * 最常用的建立方法
	 * @throws ClassNotFoundException 
	 * */
	@Test
	public void test3() throws SQLException, ClassNotFoundException{
		//1、直接通过加载类，来注册数据库驱动
		Class.forName("com.mysql.jdbc.Driver");
		//2、建立连接
		Connection conn=DriverManager.getConnection(url,user,password);
		System.out.println(conn);
		conn.close();
	}
	
}
